/*
 *
 * *******************************************************************
 *   @项目名称: BHex Android
 *   @文件名称: BParseListener.java
 *   @Date: 11/29/18 3:21 PM
 *   @Author: chenjun
 *   @Copyright（C）: 2018 BlueHelix Inc.   All rights reserved.
 *   注意：本内容仅限于内部传阅，禁止外泄以及用于其他的商业目的.
 *  *******************************************************************
 *
 */

package io.bhex.baselib.network.listener;

import android.os.Handler;

import com.alibaba.fastjson.JSON;

import io.bhex.baselib.network.response.ResponseListener;

/**
 * ================================================
 * 描   述：json 解析 目前使用的fastjson解析框架
 * ================================================
 */

public abstract class BParseListener<T> implements ResponseListener<T> {
    @Override
    public T parserResponse(Handler uiHandler, String response, Class<T> clazz) {
        try {
            T data = JSON.parseObject(response, clazz);
            return data;
        } catch (final Exception e) {
            uiHandler.post(new Runnable() {
                @Override
                public void run() {
                    onError(e);
                }
            });
        }

        return null;
    }
}
